\section{datagram.\+h File Reference}
\label{datagram_8h}\index{datagram.\+h@{datagram.\+h}}


Ether\+C\+AT datagram structure.  


\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ ec\+\_\+datagram\+\_\+t}
\begin{DoxyCompactList}\small\item\em Ether\+C\+AT datagram. \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \textbf{ ec\+\_\+datagram\+\_\+type\+\_\+t} \{ \newline
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+N\+O\+NE} = 0x00, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RD} = 0x01, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+WR} = 0x02, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RW} = 0x03, 
\newline
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RD} = 0x04, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+WR} = 0x05, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RW} = 0x06, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RD} = 0x07, 
\newline
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+WR} = 0x08, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RW} = 0x09, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RD} = 0x0A, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+WR} = 0x0B, 
\newline
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RW} = 0x0C, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+R\+MW} = 0x0D, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+R\+MW} = 0x0E
 \}\begin{DoxyCompactList}\small\item\em Ether\+C\+AT datagram type. \end{DoxyCompactList}
\item 
enum \textbf{ ec\+\_\+datagram\+\_\+state\+\_\+t} \{ \newline
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+I\+N\+IT}, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+Q\+U\+E\+U\+ED}, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+S\+E\+NT}, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+R\+E\+C\+E\+I\+V\+ED}, 
\newline
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT}, 
\textbf{ E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+E\+R\+R\+OR}
 \}\begin{DoxyCompactList}\small\item\em Ether\+C\+AT datagram state. \end{DoxyCompactList}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\label{datagram_8h_a8c149b9109b8710239b65c14bcf87cfd}} 
void \textbf{ ec\+\_\+datagram\+\_\+init} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Constructor. \end{DoxyCompactList}\item 
\mbox{\label{datagram_8h_abb57d145234f12a354a0286dab86f106}} 
void \textbf{ ec\+\_\+datagram\+\_\+clear} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Destructor. \end{DoxyCompactList}\item 
\mbox{\label{datagram_8h_a43d78d0e9873569e4b5c840fafdadba5}} 
void \textbf{ ec\+\_\+datagram\+\_\+unqueue} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Unqueue datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+prealloc} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Allocates internal payload memory. \end{DoxyCompactList}\item 
\mbox{\label{datagram_8h_ae3a997439eaf8c94e0272e309f06da94}} 
void \textbf{ ec\+\_\+datagram\+\_\+zero} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Fills the datagram payload memory with zeros. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+aprd} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT A\+P\+RD datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+apwr} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT A\+P\+WR datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+aprw} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT A\+P\+RW datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+armw} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT A\+R\+MW datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+fprd} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT F\+P\+RD datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+fpwr} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT F\+P\+WR datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+fprw} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT F\+P\+RW datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+frmw} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT F\+R\+MW datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+brd} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT B\+RD datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+bwr} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT B\+WR datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+brw} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint16\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT B\+RW datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+lrd} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint32\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT L\+RD datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+lwr} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint32\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT L\+WR datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+lrw} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint32\+\_\+t, size\+\_\+t)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT L\+RW datagram. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+lrd\+\_\+ext} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint32\+\_\+t, size\+\_\+t, uint8\+\_\+t $\ast$)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT L\+RD datagram with external memory. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+lwr\+\_\+ext} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint32\+\_\+t, size\+\_\+t, uint8\+\_\+t $\ast$)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT L\+WR datagram with external memory. \end{DoxyCompactList}\item 
int \textbf{ ec\+\_\+datagram\+\_\+lrw\+\_\+ext} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$, uint32\+\_\+t, size\+\_\+t, uint8\+\_\+t $\ast$)
\begin{DoxyCompactList}\small\item\em Initializes an Ether\+C\+AT L\+RW datagram with external memory. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+datagram\+\_\+print\+\_\+state} (const \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Prints the state of a datagram. \end{DoxyCompactList}\item 
void \textbf{ ec\+\_\+datagram\+\_\+print\+\_\+wc\+\_\+error} (const \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Evaluates the working counter of a single-\/cast datagram. \end{DoxyCompactList}\item 
\mbox{\label{datagram_8h_a8802eeb907490d0f927538d95aaf805e}} 
void \textbf{ ec\+\_\+datagram\+\_\+output\+\_\+stats} (\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Outputs datagram statistics at most every second. \end{DoxyCompactList}\item 
const char $\ast$ \textbf{ ec\+\_\+datagram\+\_\+type\+\_\+string} (const \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$)
\begin{DoxyCompactList}\small\item\em Returns a string describing the datagram type. \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Ether\+C\+AT datagram structure. 



\subsection{Enumeration Type Documentation}
\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+type\+\_\+t@{ec\+\_\+datagram\+\_\+type\+\_\+t}}
\index{ec\+\_\+datagram\+\_\+type\+\_\+t@{ec\+\_\+datagram\+\_\+type\+\_\+t}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+type\+\_\+t}
{\footnotesize\ttfamily enum \textbf{ ec\+\_\+datagram\+\_\+type\+\_\+t}}



Ether\+C\+AT datagram type. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+N\+O\+NE@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+N\+O\+NE}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+N\+O\+NE@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+N\+O\+NE}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a455bd48cbb495dc8b0c34ab831a7fb3d}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+N\+O\+NE&Dummy. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RD@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RD}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RD@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RD}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a4f04360dcb5d54e7fa9cc9d29b0201d4}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RD&Auto Increment Physical Read. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+WR@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+WR}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+WR@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+WR}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015adde6a3abb46fc29cf612209f80961ffa}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+WR&Auto Increment Physical Write. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RW}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RW}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a1c72f47920669e05abafa39e4135aea4}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+P\+RW&Auto Increment Physical Read\+Write. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RD@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RD}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RD@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RD}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a37da79feb57a32a0d5d009e43e36fc3b}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RD&Configured Address Physical Read. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+WR@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+WR}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+WR@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+WR}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a0c3a2341969ba72970430b534ffa7e92}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+WR&Configured Address Physical Write. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RW}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RW}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a94bb7b04cafdb9a9b16708830df12420}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+P\+RW&Configured Address Physical Read\+Write. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RD@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RD}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RD@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RD}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a74127113716bd45eaf6009ecdcb74dfc}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RD&Broadcast Read. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+WR@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+WR}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+WR@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+WR}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015abe060a204f51ab1ce7d2ff4b8fc4dda0}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+WR&Broadcast Write. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RW}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RW}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a7e441843805140c02dec287ec8ba0481}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+B\+RW&Broadcast Read\+Write. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RD@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RD}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RD@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RD}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015ae39583a474563f9420fee3bdcac8f738}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RD&Logical Read. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+WR@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+WR}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+WR@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+WR}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a8821b71eda807ab031ecf7e3030ebe1f}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+WR&Logical Write. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RW}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RW}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a7b305ba36800dd3e5c61203cdd6a5093}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+L\+RW&Logical Read\+Write. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+R\+MW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+R\+MW}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+R\+MW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+R\+MW}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a3480b2f60d4ee7fafd94582afd4a82b1}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+A\+R\+MW&Auto Increment Physical Read Multiple Write. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+R\+MW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+R\+MW}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+R\+MW@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+R\+MW}}}\mbox{\label{datagram_8h_a03209bc3f89797943506f8f7c160b015a924ce1c906dcb8263c6ed75e37bc35db}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+F\+R\+MW&Configured Address Physical Read Multiple Write. \\
\hline

\end{DoxyEnumFields}


Definition at line 50 of file datagram.\+h.

\mbox{\label{datagram_8h_ac9882419ec1404dcca75761c4d1ce720}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+state\+\_\+t@{ec\+\_\+datagram\+\_\+state\+\_\+t}}
\index{ec\+\_\+datagram\+\_\+state\+\_\+t@{ec\+\_\+datagram\+\_\+state\+\_\+t}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+state\+\_\+t}
{\footnotesize\ttfamily enum \textbf{ ec\+\_\+datagram\+\_\+state\+\_\+t}}



Ether\+C\+AT datagram state. 

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+I\+N\+IT@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+I\+N\+IT}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+I\+N\+IT@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+I\+N\+IT}}}\mbox{\label{datagram_8h_ac9882419ec1404dcca75761c4d1ce720a5ccc352710bfd57969fdba9a13f91f71}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+I\+N\+IT&Initial state of a new datagram. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+Q\+U\+E\+U\+ED@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+Q\+U\+E\+U\+ED}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+Q\+U\+E\+U\+ED@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+Q\+U\+E\+U\+ED}}}\mbox{\label{datagram_8h_ac9882419ec1404dcca75761c4d1ce720acb7d25358159e7c95e334a74b97d661c}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+Q\+U\+E\+U\+ED&Queued for sending. \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+S\+E\+NT@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+S\+E\+NT}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+S\+E\+NT@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+S\+E\+NT}}}\mbox{\label{datagram_8h_ac9882419ec1404dcca75761c4d1ce720abe88d98e46c97099702211a92e1d8c9d}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+S\+E\+NT&Sent (still in the queue). \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+R\+E\+C\+E\+I\+V\+ED@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+R\+E\+C\+E\+I\+V\+ED}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+R\+E\+C\+E\+I\+V\+ED@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+R\+E\+C\+E\+I\+V\+ED}}}\mbox{\label{datagram_8h_ac9882419ec1404dcca75761c4d1ce720a95630d1e98f6217bf0392b4295c5bc6a}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+R\+E\+C\+E\+I\+V\+ED&Received (dequeued). \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT}}}\mbox{\label{datagram_8h_ac9882419ec1404dcca75761c4d1ce720a9f9009188c7cee7d421908a8924ba5e8}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+T\+I\+M\+E\+D\+\_\+\+O\+UT&Timed out (dequeued). \\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+E\+R\+R\+OR@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+E\+R\+R\+OR}!datagram.\+h@{datagram.\+h}}\index{datagram.\+h@{datagram.\+h}!E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+E\+R\+R\+OR@{E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+E\+R\+R\+OR}}}\mbox{\label{datagram_8h_ac9882419ec1404dcca75761c4d1ce720af9a4a9cb27dca2c36d87f734fa36debf}} 
E\+C\+\_\+\+D\+A\+T\+A\+G\+R\+A\+M\+\_\+\+E\+R\+R\+OR&Error while sending/receiving (dequeued). \\
\hline

\end{DoxyEnumFields}


Definition at line 74 of file datagram.\+h.



\subsection{Function Documentation}
\mbox{\label{datagram_8h_a92a101b920c6e3cedd187a74d148c65c}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+prealloc@{ec\+\_\+datagram\+\_\+prealloc}}
\index{ec\+\_\+datagram\+\_\+prealloc@{ec\+\_\+datagram\+\_\+prealloc}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+prealloc()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+prealloc (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{size\+\_\+t}]{size }\end{DoxyParamCaption})}



Allocates internal payload memory. 

If the allocated memory is already larger than requested, nothing ist done.

\begin{DoxyAttention}{Attention}
If external payload memory has been provided, no range checking is done!
\end{DoxyAttention}
\begin{DoxyReturn}{Returns}
0 in case of success, otherwise {\itshape -\/\+E\+N\+O\+M\+EM}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em size} & New payload size in bytes. \\
\hline
\end{DoxyParams}


Definition at line 150 of file datagram.\+c.

\mbox{\label{datagram_8h_a28104e7c3691ae038472f292d77f0e1c}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+aprd@{ec\+\_\+datagram\+\_\+aprd}}
\index{ec\+\_\+datagram\+\_\+aprd@{ec\+\_\+datagram\+\_\+aprd}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+aprd()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+aprd (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{ring\+\_\+position,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT A\+P\+RD datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em ring\+\_\+position} & Auto-\/increment address. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to read. \\
\hline
\end{DoxyParams}


Definition at line 189 of file datagram.\+c.

\mbox{\label{datagram_8h_ab1f9df4ca5a9b197bbebab97c3b1b014}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+apwr@{ec\+\_\+datagram\+\_\+apwr}}
\index{ec\+\_\+datagram\+\_\+apwr@{ec\+\_\+datagram\+\_\+apwr}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+apwr()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+apwr (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{ring\+\_\+position,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT A\+P\+WR datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em ring\+\_\+position} & Auto-\/increment address. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to write. \\
\hline
\end{DoxyParams}


Definition at line 210 of file datagram.\+c.

\mbox{\label{datagram_8h_a09196132a8e2ba4455e29034c7c1c021}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+aprw@{ec\+\_\+datagram\+\_\+aprw}}
\index{ec\+\_\+datagram\+\_\+aprw@{ec\+\_\+datagram\+\_\+aprw}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+aprw()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+aprw (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{ring\+\_\+position,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT A\+P\+RW datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em ring\+\_\+position} & Auto-\/increment address. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to write. \\
\hline
\end{DoxyParams}


Definition at line 231 of file datagram.\+c.

\mbox{\label{datagram_8h_a9189502fd72cb516ed7e34b717919d11}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+armw@{ec\+\_\+datagram\+\_\+armw}}
\index{ec\+\_\+datagram\+\_\+armw@{ec\+\_\+datagram\+\_\+armw}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+armw()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+armw (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{ring\+\_\+position,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT A\+R\+MW datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em ring\+\_\+position} & Auto-\/increment address. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to read. \\
\hline
\end{DoxyParams}


Definition at line 252 of file datagram.\+c.

\mbox{\label{datagram_8h_a0756df47b9ae51ded9a1ca2acc116c93}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+fprd@{ec\+\_\+datagram\+\_\+fprd}}
\index{ec\+\_\+datagram\+\_\+fprd@{ec\+\_\+datagram\+\_\+fprd}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+fprd()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+fprd (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{configured\+\_\+address,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT F\+P\+RD datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em configured\+\_\+address} & Configured station address. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to read. \\
\hline
\end{DoxyParams}


Definition at line 273 of file datagram.\+c.

\mbox{\label{datagram_8h_a874f9f8511a2a5bb94eea8a168031acd}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+fpwr@{ec\+\_\+datagram\+\_\+fpwr}}
\index{ec\+\_\+datagram\+\_\+fpwr@{ec\+\_\+datagram\+\_\+fpwr}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+fpwr()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+fpwr (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{configured\+\_\+address,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT F\+P\+WR datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em configured\+\_\+address} & Configured station address. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to write. \\
\hline
\end{DoxyParams}


Definition at line 298 of file datagram.\+c.

\mbox{\label{datagram_8h_a06df15b353aba6fdfe1122e7c95eb19c}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+fprw@{ec\+\_\+datagram\+\_\+fprw}}
\index{ec\+\_\+datagram\+\_\+fprw@{ec\+\_\+datagram\+\_\+fprw}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+fprw()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+fprw (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{configured\+\_\+address,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT F\+P\+RW datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em configured\+\_\+address} & Configured station address. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to write. \\
\hline
\end{DoxyParams}


Definition at line 323 of file datagram.\+c.

\mbox{\label{datagram_8h_a2e41788150abc1067d4e4d5db66c2541}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+frmw@{ec\+\_\+datagram\+\_\+frmw}}
\index{ec\+\_\+datagram\+\_\+frmw@{ec\+\_\+datagram\+\_\+frmw}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+frmw()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+frmw (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{configured\+\_\+address,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT F\+R\+MW datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em configured\+\_\+address} & Configured station address. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to write. \\
\hline
\end{DoxyParams}


Definition at line 348 of file datagram.\+c.

\mbox{\label{datagram_8h_aaf49430ca2c7ac387a389e66172a4228}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+brd@{ec\+\_\+datagram\+\_\+brd}}
\index{ec\+\_\+datagram\+\_\+brd@{ec\+\_\+datagram\+\_\+brd}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+brd()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+brd (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT B\+RD datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to read. \\
\hline
\end{DoxyParams}


Definition at line 373 of file datagram.\+c.

\mbox{\label{datagram_8h_a0cf08cec8bb44d9f74fd92ded2a217bf}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+bwr@{ec\+\_\+datagram\+\_\+bwr}}
\index{ec\+\_\+datagram\+\_\+bwr@{ec\+\_\+datagram\+\_\+bwr}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+bwr()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+bwr (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT B\+WR datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to write. \\
\hline
\end{DoxyParams}


Definition at line 393 of file datagram.\+c.

\mbox{\label{datagram_8h_a9f81033d766e9c6e748485defc83a3e9}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+brw@{ec\+\_\+datagram\+\_\+brw}}
\index{ec\+\_\+datagram\+\_\+brw@{ec\+\_\+datagram\+\_\+brw}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+brw()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+brw (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint16\+\_\+t}]{mem\+\_\+address,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT B\+RW datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em mem\+\_\+address} & Physical memory address. \\
\hline
{\em data\+\_\+size} & Number of bytes to write. \\
\hline
\end{DoxyParams}


Definition at line 413 of file datagram.\+c.

\mbox{\label{datagram_8h_aabc448d4b7b6ec688240c20bbf81db08}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+lrd@{ec\+\_\+datagram\+\_\+lrd}}
\index{ec\+\_\+datagram\+\_\+lrd@{ec\+\_\+datagram\+\_\+lrd}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+lrd()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+lrd (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint32\+\_\+t}]{offset,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT L\+RD datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em offset} & Logical address. \\
\hline
{\em data\+\_\+size} & Number of bytes to read/write. \\
\hline
\end{DoxyParams}


Definition at line 433 of file datagram.\+c.

\mbox{\label{datagram_8h_ae86a6739ed9060237d935adb4240e1a7}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+lwr@{ec\+\_\+datagram\+\_\+lwr}}
\index{ec\+\_\+datagram\+\_\+lwr@{ec\+\_\+datagram\+\_\+lwr}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+lwr()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+lwr (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint32\+\_\+t}]{offset,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT L\+WR datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em offset} & Logical address. \\
\hline
{\em data\+\_\+size} & Number of bytes to read/write. \\
\hline
\end{DoxyParams}


Definition at line 452 of file datagram.\+c.

\mbox{\label{datagram_8h_aecf0cddb70deea7a91ff65037faa8f29}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+lrw@{ec\+\_\+datagram\+\_\+lrw}}
\index{ec\+\_\+datagram\+\_\+lrw@{ec\+\_\+datagram\+\_\+lrw}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+lrw()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+lrw (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint32\+\_\+t}]{offset,  }\item[{size\+\_\+t}]{data\+\_\+size }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT L\+RW datagram. 

\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em offset} & Logical address. \\
\hline
{\em data\+\_\+size} & Number of bytes to read/write. \\
\hline
\end{DoxyParams}


Definition at line 471 of file datagram.\+c.

\mbox{\label{datagram_8h_a9c8a833002784ce7c8855b11afd5bd87}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+lrd\+\_\+ext@{ec\+\_\+datagram\+\_\+lrd\+\_\+ext}}
\index{ec\+\_\+datagram\+\_\+lrd\+\_\+ext@{ec\+\_\+datagram\+\_\+lrd\+\_\+ext}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+lrd\+\_\+ext()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+lrd\+\_\+ext (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint32\+\_\+t}]{offset,  }\item[{size\+\_\+t}]{data\+\_\+size,  }\item[{uint8\+\_\+t $\ast$}]{external\+\_\+memory }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT L\+RD datagram with external memory. 

\begin{DoxyAttention}{Attention}
It is assumed, that the external memory is at least {\itshape data\+\_\+size} bytes large.
\end{DoxyAttention}
\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em offset} & Logical address. \\
\hline
{\em data\+\_\+size} & Number of bytes to read/write. \\
\hline
{\em external\+\_\+memory} & Pointer to the memory to use. \\
\hline
\end{DoxyParams}


Definition at line 493 of file datagram.\+c.

\mbox{\label{datagram_8h_a40de84b0b6fa9336d4713a06da68dfdc}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+lwr\+\_\+ext@{ec\+\_\+datagram\+\_\+lwr\+\_\+ext}}
\index{ec\+\_\+datagram\+\_\+lwr\+\_\+ext@{ec\+\_\+datagram\+\_\+lwr\+\_\+ext}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+lwr\+\_\+ext()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+lwr\+\_\+ext (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint32\+\_\+t}]{offset,  }\item[{size\+\_\+t}]{data\+\_\+size,  }\item[{uint8\+\_\+t $\ast$}]{external\+\_\+memory }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT L\+WR datagram with external memory. 

\begin{DoxyAttention}{Attention}
It is assumed, that the external memory is at least {\itshape data\+\_\+size} bytes large.
\end{DoxyAttention}
\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em offset} & Logical address. \\
\hline
{\em data\+\_\+size} & Number of bytes to read/write. \\
\hline
{\em external\+\_\+memory} & Pointer to the memory to use. \\
\hline
\end{DoxyParams}


Definition at line 518 of file datagram.\+c.

\mbox{\label{datagram_8h_aec1a712ab2eb262b2100180787b30648}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+lrw\+\_\+ext@{ec\+\_\+datagram\+\_\+lrw\+\_\+ext}}
\index{ec\+\_\+datagram\+\_\+lrw\+\_\+ext@{ec\+\_\+datagram\+\_\+lrw\+\_\+ext}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+lrw\+\_\+ext()}
{\footnotesize\ttfamily int ec\+\_\+datagram\+\_\+lrw\+\_\+ext (\begin{DoxyParamCaption}\item[{\textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram,  }\item[{uint32\+\_\+t}]{offset,  }\item[{size\+\_\+t}]{data\+\_\+size,  }\item[{uint8\+\_\+t $\ast$}]{external\+\_\+memory }\end{DoxyParamCaption})}



Initializes an Ether\+C\+AT L\+RW datagram with external memory. 

\begin{DoxyAttention}{Attention}
It is assumed, that the external memory is at least {\itshape data\+\_\+size} bytes large.
\end{DoxyAttention}
\begin{DoxyReturn}{Returns}
Return value of \doxyref{ec\+\_\+datagram\+\_\+prealloc()}{p.}{datagram_8c_a407dc1f0c4247f84e4193b4368be8a8b}. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
{\em offset} & Logical address. \\
\hline
{\em data\+\_\+size} & Number of bytes to read/write. \\
\hline
{\em external\+\_\+memory} & Pointer to the memory to use. \\
\hline
\end{DoxyParams}


Definition at line 543 of file datagram.\+c.

\mbox{\label{datagram_8h_ace816d0d8117ee2d89185bcae16d45e4}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+print\+\_\+state@{ec\+\_\+datagram\+\_\+print\+\_\+state}}
\index{ec\+\_\+datagram\+\_\+print\+\_\+state@{ec\+\_\+datagram\+\_\+print\+\_\+state}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+print\+\_\+state()}
{\footnotesize\ttfamily void ec\+\_\+datagram\+\_\+print\+\_\+state (\begin{DoxyParamCaption}\item[{const \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Prints the state of a datagram. 

Outputs a text message. 
\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram \\
\hline
\end{DoxyParams}


Definition at line 565 of file datagram.\+c.

\mbox{\label{datagram_8h_a447b859841b687ecbe7bbf5ee896bc11}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+print\+\_\+wc\+\_\+error@{ec\+\_\+datagram\+\_\+print\+\_\+wc\+\_\+error}}
\index{ec\+\_\+datagram\+\_\+print\+\_\+wc\+\_\+error@{ec\+\_\+datagram\+\_\+print\+\_\+wc\+\_\+error}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+print\+\_\+wc\+\_\+error()}
{\footnotesize\ttfamily void ec\+\_\+datagram\+\_\+print\+\_\+wc\+\_\+error (\begin{DoxyParamCaption}\item[{const \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Evaluates the working counter of a single-\/cast datagram. 

Outputs an error message. 
\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram \\
\hline
\end{DoxyParams}


Definition at line 602 of file datagram.\+c.

\mbox{\label{datagram_8h_a9534d758b8408b2c7d5b64dcfbc0cd10}} 
\index{datagram.\+h@{datagram.\+h}!ec\+\_\+datagram\+\_\+type\+\_\+string@{ec\+\_\+datagram\+\_\+type\+\_\+string}}
\index{ec\+\_\+datagram\+\_\+type\+\_\+string@{ec\+\_\+datagram\+\_\+type\+\_\+string}!datagram.\+h@{datagram.\+h}}
\subsubsection{ec\+\_\+datagram\+\_\+type\+\_\+string()}
{\footnotesize\ttfamily const char$\ast$ ec\+\_\+datagram\+\_\+type\+\_\+string (\begin{DoxyParamCaption}\item[{const \textbf{ ec\+\_\+datagram\+\_\+t} $\ast$}]{datagram }\end{DoxyParamCaption})}



Returns a string describing the datagram type. 

\begin{DoxyReturn}{Returns}
Pointer on a static memory containing the requested string. 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em datagram} & Ether\+C\+AT datagram. \\
\hline
\end{DoxyParams}


Definition at line 642 of file datagram.\+c.

